﻿using ImClient.Properties;
using System;
using System.Windows.Forms;

namespace ImClient {
    // 注册窗口
    public partial class RegWindow: Form {
        public int IconIndex { get; private set; }      // 头像索引
        public string Password { get; private set; }    // 密码
        public string Username { get; private set; }    // 用户名

        /**
         * 构造方法。
         */
        public RegWindow() {
            // 初始化控件
            this.InitializeComponent();

            // 设置最大用户名长度和最大密码长度
            EditPassword.MaxLength = Const.MAX_PASSWORD_LEN;
            EditRepassword.MaxLength = Const.MAX_PASSWORD_LEN;
            EditUsername.MaxLength = Const.MAX_USERNAME_LEN;
        }

        /**
         * "确定"按钮的单击响应方法。
         * @param sender    事件发送者
         * @param e         事件相关信息
         */
        private void ButtonOK_Click(object sender, EventArgs e) {
            // 检查用户名是否为空
            if (EditUsername.Text.Equals("")) {
                MessageBox.Show(Resources.IDS_USERNAME_EMPTY, " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                EditUsername.Focus();
                return;
            }

            // 检查密码是否为空
            if (EditPassword.Text.Equals("")) {
                MessageBox.Show(Resources.IDS_PASSWORD_EMPTY, " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                EditPassword.Focus();
                return;
            }

            // 检查两次密码是否一致
            if (!EditPassword.Text.Equals(EditRepassword.Text)) {
                MessageBox.Show(Resources.IDS_PASSWORD_NOT_EQUAL, " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                EditRepassword.Focus();
                return;
            }

            // 检查头像索引
            ListViewItem item;
            try {
                item = ListViewIcons.SelectedItems[0];
            } catch (Exception) {
                MessageBox.Show(Resources.IDS_ICON_NOT_SELECT, " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            // 保存用户信息
            Username = EditUsername.Text;
            Password = EditPassword.Text;
            IconIndex = item.Index;

            // 关闭窗口
            DialogResult = DialogResult.OK;
        }
    }
}
